package org.gwt.client.vista.figuras;

import org.vaadin.gwtgraphics.client.Group;
import org.vaadin.gwtgraphics.client.shape.Text;


public class Ejes {	
	private Group ejes;
	private Vector lineas;	
	private boolean ejes3D;
	private boolean navegador;	
	public Ejes(boolean nav) {			
		setNavegador(nav);				
		ejes=new Group();
		lineas=new Vector(navegador);
		lineas.setAncho(3);
	}
	public void setNavegador(boolean nav) {
		this.navegador=nav;		
	}
	public void setEjes3d(boolean ejes3d){
		this.ejes3D=ejes3d;
	}
	public Text dibujaNombre(int x,int y,String nombre,String color){
		Text t=new Text(x, y, nombre);
		t.setFontFamily("fantasy");
		t.setFillColor(color);
		t.setFontSize(12);
		return t;
	}
	
	public Group dibujar(int x1,int y1,int x2){
		int ly_y=y1-Math.abs(x2-x1);
		ejes.clear();
		
		lineas.setColor("green");		
		ejes.add(lineas.dibujar(x1, y1, x2, y1));
		ejes.add(dibujaNombre(x2-10, y1-10, "X +", "green"));
		
		lineas.setColor("red");
		ejes.add(lineas.dibujar(x1, y1, x1, ly_y));
		ejes.add(dibujaNombre(x1, ly_y-5, "Y +", "red"));
		
		if(ejes3D){
			int lz_x,lz_y;
			lz_y=lz_x=(int) Math.sqrt((Math.pow(x2-x1, 2)/2));
			lz_x=x1-lz_x;
			lz_y=y1+lz_y;
			lineas.setColor("blue");
			ejes.add(lineas.dibujar(x1, y1, lz_x, lz_y));
			ejes.add(dibujaNombre(lz_x, lz_y-20, "Z +", "blue"));
				}
	return ejes;
	}
}
